Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

"Виртуальная файловая система" (ScRiPt.KZ)
Author Message
ScRiPt.KZ
Заглянувший



Joined: 01 Feb 2008
Posts: 1
Карма: 0
   поощрить/наказать

Location: Планета "Земля"

PostPosted: Fri Feb 01, 2008 4:36 pm (написано за 19 минут 21 секунду)
   Post subject: "Виртуальная файловая система"
Reply with quote

Во первых, Здравствуйте... т.к. я новичок в этом форуме, - строго не судите (может и не так где-нибудь что-либо написал)...
Столкнулся с такой проблемой: необходимо осуществить что-то вроде "Виртуальной файловой системы" для создания web-каталогов (данная тема поднималась на страничках журнала PHPInside #17)..
Как мне показалось подход к этому вопросу в PHPInside не плохой.. реализация понравилась... Но, сейчас возникла такая ситуация: сайт будет не на одном языке...
+ Хотелось бы сделать так, чтобы у определенной группы файлов либо каталога были определенные атрибуты..:
к примеру есть такая структура (директория обозначена квадратными скобками, файлы - круглыми) :
Quote:
[mainfolder]
-[group1]
--(element1)
--(element2)
--(element3)
-[group2]
--(elementA)
--(elementB)
--(elementC)
у "каталога" group1 есть поля `a1`, `a2`... и т.п., причем некоторые из них зависят от языка..
у "каталога" group2 есть поля `b1`, `b2`.. и т.д.
для группы "файлов" (element1, element2, element3), находящихся в одной "директории" соответственно имеются свои поля.. для файлов другой "директории" (elementA, elementB, elementC) - другие поля.
И, хотелось бы осуществить подобное, для нескольких языков...
Сам продумать универсальное решение не могу, поэтому и обращаюсь к вам...

Буду очень признателен за помощь... (и, надеюсь решение данного вопроса принесет пользу не только мне.)
Back to top
View user's profile Send private message
Vetas
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Feb 07, 2008 12:16 pm (спустя 5 дней 19 часов 39 минут; написано за 14 минут 41 секунду)
   Post subject:
Reply with quote

Можно, например, задействовать ООП. Каждый элемент (elementXXXX) - класс, который включает как минимум 2 поля: массив имен (для всех поддерживаемых языков) и язык по умолчанию. Каждый элемент [groupXXXX] и [MainFolder]- класс, включающий массив ссылок на элементы (elementXXXX). Примерная реализация
Code (php): скопировать код в буфер обмена
class element
{
 var $name = Array (www.php.net/array)();
 var $currentLan;
 function AddName($name)
 {
   this->$name[]=$name;
 }
}

class group
{
 var name = Array (www.php.net/array)();
 var $field = Array (www.php.net/array)();
 var $currentLan;
 function AddField ($elem)
 {
   this->$field[]=$elem;
 }
 function AddName($name)
 {
   this->$name[]=$name;
 }
}


// использование
// Создаем элементы
$elem1=new element();
$elem1->AddName("Имя");
$elem1->AddName("Name");
$elem1->AddName("Iм'я");

$elem2=new element();
...
$elem3=new element();
...
$elem4=new element();
...
$elem5=new element();
...


// обьединяем элементы в группу
$group1=new group();
$group1->AddField($elem1);
$group1->AddField($elem2);
$group1->AddField($elem3);
$group1->AddField($elem4);
$group1->AddField($elem5);
// Можно также и группу сделать многоязычной
$group1->AddName("Имя");
$group1->AddName("Name");
$group1->AddName("Iм'я");

// Перебор элементов в группе как обычно при помощи foreach
 
Back to top
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML